home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
clang
/
cxl52_1.zip
/
HISTORY.DOC
< prev
next >
Wrap
Text File
|
1990-02-17
|
17KB
|
320 lines
------------------------
CXL Revision History
------------------------
Version 5.2 - February 17, 1990
o Minor enhancements and problem fixes:
- The wpickfile() function now returns back to current drive and
directory before letting the user pick a file. Also,
wpickfile() now will return W_INVPATH if an invalid path name is
given in the input filespec.
- The wpickfile() function would erroneously return W_NOMATCH
error in a subdirectory with no files. Thanks to Jack Kilday.
- The help system would used hard-coded single-line border
characters for the PgUp/PgDn indicator when it should have been
dependent on the help window's box type. Thanks to Rich Winter.
- getxch() was improperly handling Ctrl-Break. Thanks to Vic
Baron.
- The cvtfc() function could overwrite the receiving buffer given
it. Thanks to Rich Winter.
- The MSC version of biosver() behaved erratically. Thanks to Ray
MacHardy.
- The setlines() function would not allow EGA and VGA monochrome
displays to go into 50-line mode. Thanks to Tom Debruycker.
- wpickfile() had a bug to where it could display "*.*" as the
filespec even if it was different. Thanks to John Wagner.
- If Escape checking was turned off, and user was in help screen
with cross-references, (s)he wouldn't be able to exit help.
Thanks to Richard Diaz.
- The strschg() and strischg() functions could cause a lock-up
when certain strings were used. Thanks to Larry Gibbs.
- The wputc() and wputs() functions wouldn't properly handle
the backspace character when at window row 0, column 0.
- Certain scan codes returned by scancode() weren't appropriate
for the type of character given it. Thanks to Michael Burton.
Version 5.1 - September 1, 1989
o Extended keyboard support for data entry functions. Allows you
to extend and/or remap the keyboard during processing of data entry
forms.
o Extended the help system. You can now specify help window size and
placement. The "*P" and "*E" markers in help files can now be
trailed by whitespace and/or other ASCII characters. You can now
move between help cross-reference items by pressing the first
character of the help category you want to move to. You can now
push an empty help category (0) onto the help category stack.
o Improved mouse support in arrow-key emulation mode.
o Complete CGA snow elimination (rather than just snow reduction) and
increased CGA display output speed.
o Improved menuing system. The menuing functions now handle menus
with two or more menu items having the same selection character
better. You can now close a menu's window before calling an item's
selection function (not just after). The taginit value given in the
wmenuend() function MUST now match a tagid of one of that menu's
items. When menu item text descriptions are displayed, they
automatically clear to the end-of-line (so you don't need to pad
text desriptions with spaces). Added a few functions to make
accessing CXL's menu data structures easier.
o Improved data entry. Data entry fields are now processed in their
definition order rather than automatically left-to-right. The Up
and Down arrow keys are now "smarter".
o Enhanced list picking functions. By popular demand, the wpickstr()
and wselstr() functions have had an additional parameter, initelem,
added to allow specifying the initial position of the selection bar.
The wpickfile() function now displays subdirectories even when they
don't match the input filespec.
o Enhanced the menuing and list picking functions for better operation
under DESQview.
o The string trimming functions, strltrim() and strtrim() now trim
whitespace as well as normal spaces.
o The wprints() function no longer supports word-wrap. Use wputs(),
wprintf(), or another TTY-style window output function instead.
o The getchf() and wgetchf() functions now disregard the case of
input letters. This means instead of having to use "YyNn" for the
valid choice string, you can use just "YN".
o Several problem fixes. These include:
- In the MSC version, when specifying a drive in the input
filespec to wpickfile(), it would use that drive letter - 1.
Thanks to Larry Wasserman.
- In the ZTC version, the striinc() and strmatch() functions
referenced a strnicmp() function, which is not in the standard
ZTC library and would cause an unresolved reference linker
error. This in-turn affected stridel(), strisocc(), and
strisrep(). Thanks to Larry Marshall.
- The strtrim() function could still trim past the start of the
string if the string was all spaces. Thanks to Mike Davenport.
- The hidecur() function didn't hide the cursor with certain EGA
video adapters. Thanks to Ted Roberts.
- In winpread(), a mode 2 field wouldn't work as expected if the
previous field was completely filled. Thanks to Mike Davenport.
- The wmessage() function didn't accurately perform bounds
checking to make sure that the message would fit in the window.
- The wwprints() function didn't translate monochrome attributes
properly. Thanks to Bruce Rosner.
- The whline() and wvline() functions didn't properly handle count
values of 0 or 1 properly. Thanks to Glenn McDonald.
- The wpickfile() function could stay in the wrong directory if it
aborted with a W_NOMATCH error. Thanks to Joe McLain.
- The wpickfile() function could possibly malfunction if used with
directories that had an extension. Thanks to Rik Faith.
- The _vinfo.dvexist variable was being set to 1 whether or not
DESQview was actually loaded. Thanks to Eric Cockrell.
- The wmenuicurr() macro-function would not return the correct
menu item record during the menu item's "before" function.
Thanks to Tim Ottinger.
- The multi-field data entry functions would display the last
field in the wrong color if its validation function returned
error. Thanks to Eric Irwin.
- Pulldown menu bars could not have 2 submenu-less items in a row.
Thanks to Daniel Miller.
- The 'F' and 'W' format control characters should have allowed a
colon ':', but didn't.
- The cvtfc() function was rounding fractional portion where it
should have been truncating.
o Added several new functions. See CXL.DOC for descriptions.
cgardbyte() cgardword() cgareadn() cgawrbyte()
cgawriten() cgawrstr() cgawrword() chgonkey()
freonkey() setvparam() strbtrim() strdela()
stridela() strischg() strschg() vidmode()
wbprintc() wdrag() wgetyn() whelppcat()
whelpundef() whelpwin() winpkey() wmenuidsab()
wmenuienab() wmenuinext() wslide() wunlink()
o The CXL library is no longer available for Power C. Power C's lack
of conformance to the Microsoft .OBJ format has become too difficult
to support. CXL version 5.0 will still be shipped to those
requesting a Power C version.
Version 5.0 - March 27, 1989
o Complete context-sensitive help system. Help information can
contain multiple pages of help text per category and can be
cross-referenced for flexibility and indexed for speed.
o Shadowed windows. Windows can now have shadows. These shadows can
be translucent so that they show the characters underneath.
o The menuing functions have been significantly enhanced. Individual
menu items can have sub-menus and/or functions tied into them.
Pull-down and other multi-level menus are much easier to create.
Individual menu selections can also be defined as nonselectable.
Menu items can also have global hot keys. Menu items can have
"before" and "after" functions. Mouse support in menus has been
expanded.
o The multi-field input functions have been significantly enhanced.
They now properly support numeric data entry. Also, the behavior of
several of the editing keys has been enhanced. A conditional update
mode has been added. Input fields can have "before" and "after"
functions. True Insert mode has been added.
o Scrolling bar string picker allows you to create variable-sized
"menus" of strings to pick from. Features mouse support including
scroll bars.
o File picker with same features as string picker. Allows movement
between directories. Similar to the file pickers included in the
Turbo C and QuickC environments.
o The window TTY output string functions, such as wputs() and
wprintf(), are now able to change colors, set cursor coordinates,
and erase part or all of the window, using CXL's new window Escape
sequences. These are similar to ANSI Escape sequences, but are much
faster.
o You are now able to write to blocked and hidden windows.
o Automatic monochrome attribute translation. By default, if a
monochrome adapter is detected by videoinit(), all color attributes
will be mapped to their monochrome equivalents. This can be
overridden via a switch.
o CGA snow reduction has been put back into CXL. This is selectable
via a global variable. Thanks to Patrick Bennett and Larry Kruse.
o All video functions now work properly in nonstandard text modes
such as 132x80 and 120x43.
o The video adapter identifiers (CGA, EGA, etc.) are now prefixed with
a "V_" to avoid conflicts with Borland's BGI definitions. Also, a
few new video adapter identifiers were added.
o There are now 4 different types of mouse support provided including
a point-and-shoot mouse cursor as well as arrow-key emulation.
o Mouse functions have been modified to use actual row and column
cursor coordinates rather than X and Y pixel coordinates. This
makes working with the mouse cursor much easier.
o Internal keyboard buffer and support functions. This allows you to
create keyboard scripts, force user input, etc., by "stuffing"
keystrokes into CXL's internal keyboard buffer.
o File encryption and decryption. Allows fast encryption and
decryption of text and binary files. Thanks to Bob Stout.
o Problems fixed.
- The video functions were working under DESQview on some
machines, but not others. Thanks to Jim Nutt.
- The setlines() function was not returning to 25-line mode from
VGA 50-line mode properly. Thanks to Larry Kruse.
- The wunhide() function was unhiding the most recently hidden
window, regardless of the given window handle. Thanks to Joshua
Stern.
- The strtrim() function could trim past the start of the string
if the string was all spaces. Thanks to Curt Grimley.
- The whline() function would not function properly when drawing
on window row 0 of a borderless window starting on screen row 0.
Thanks to Ted Roberts.
- A certain error condition in wopen() could cause it to return
without restoring memory it allocated. Thanks to Nelson
Chenkin.
- The tab character, when used in window TTY output functions, was
advancing the cursor to the next tab column offset from the
screen, not from window column 0.
- In the systime() function, time codes 2 thru 4 would cause a
return of "00" for hour during the midnight hour. Now they
return "12".
o New functions. See CXL.DOC for descriptions.
cclrscrn() cvtcf() cvtci() cvtfc()
cvtic() cxlver() fcrypt() getcursz()
hidecur() kbclear() kbmhit() kbput()
kbputs() lgcursor() mapattr() msbclear()
mscondoff() mssupport() randfile() revsattr()
scancode() showcur() smcursor() strchksum()
strichksum() strisocc() strisrep() strljust()
strrjust() strsocc() strsrep() wchkbox()
wchkcol() wchkcoord() wchkrow() wdump()
wdups() wfillch() whelpcat() whelpclr()
whelpdef() whelpop() whelpopc() whelpush()
whelpushc() windowat() windump() winpbeg()
winpfba() winpfcurr() winpffind() wmenubeg()
wmenubegc() wmenuend() wmenuiba() wmenuicurr()
wmenuifind() wmenuitem() wmenuitxt() wmenumcurr()
wpickfile() wpickstr() wprintsf() wputsw()
wscrollbox() wselstr() wshadoff() wshadow()
wtabwidth() wwprints()
o Modified functions. See CXL.DOC for descriptions.
msbpress() msbreles() msgotoxy() mshbounds()
msmotion() msstatus() msvbounds() setonkey()
strins() strsetsz() videoinit() whline()
winpdef() wmenuget() wtitle() wunhide()
wvline()
o Deleted functions. The string selection functions, wsseldef() and
wsselget(), were deleted because their operation can now be emulated
using the new wselstr() function. The wsbounds() function was
deleted because the new wscrollbox() function allows you to scroll
specific regions of the window.
o There are several new global variables, so to avoid possible name
conflicts, and to organize them better, I grouped the old and new
globals under new structure-type global variables. See CXL.DOC for
descriptions of these new structure-type global variables.
struct _kbinfo contains _kbloop, _kbuf, and _onkey.
struct _vinfo contains _dvcheck, _vbios, and _videoseg.
struct _winfo contains _werrno, _wesc, _whandle, _whrec,
_wrec, and _wtotal.
Version 4.1 - September 4, 1988
o Support for Mix Power C has been added.
o Complete BIOS video support has been added. This will also serve
as a temporary solution to the problem with the CGA snow reduction
in CXL 4.0.
o The window hiding/unhiding functions are now high level (use
handles, not pointers). This makes the hiding and unhiding of
windows much easier.
o The internal mouse support has been enhanced. Mouse movement is
smoother and there are no longer mouse "boundaries". Mouse button
presses can no longer be queued.
o Problems fixed.
- Menuing and data entry functions weren't being properly
supported on single line borderless windows. Thanks to Mark
Hall.
- The setkbloop() function was not working properly on systems
without a mouse because of a bug in getxch().
- In sysdate(), date codes 3 & 4 were returning the same result.
Thanks to Michael Hackman.
- In systime(), time codes 2 & 3, the AM/PM indicator was not
being changed from AM to PM until 1:00 PM. Thanks to John
Metzker.
o Modified functions. See CXL.DOC for descriptions.
cvaltype() whide() wunhide()
o Deleted functions. These functions were deleted because their roles
have been assumed by other functions.
boxd() filld() printcd() printsd()
Version 4.0 - July 27, 1988
Initial release of CXL.